menushell: Keep outside clicks working
authorMatthias Clasen <mclasen@redhat.com>
Sun, 26 May 2019 17:16:40 +0000 (17:16 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 28 May 2019 20:25:13 +0000 (20:25 +0000)
We need to unset event propagation limits here
to keep receiving outside clicks that cause us
to close the menu.

gtk/gtkmenushell.c

index c3150aa1b2f8ee49ac6d4e6e38f601bf346ce3b1..6b1201c17177010b87236a3e9ce25500ed98216a 100644 (file)
@@ -423,6 +423,7 @@ gtk_menu_shell_init (GtkMenuShell *menu_shell)
   menu_shell->priv->take_focus = TRUE;
 
   controller = gtk_event_controller_key_new ();
+  gtk_event_controller_set_propagation_limit (controller, GTK_LIMIT_NONE);
   g_signal_connect (controller, "key-pressed",
                     G_CALLBACK (gtk_menu_shell_key_press), widget);
   gtk_widget_add_controller (widget, controller);
@@ -430,6 +431,7 @@ gtk_menu_shell_init (GtkMenuShell *menu_shell)
   gtk_widget_set_has_surface (widget, FALSE);
 
   controller = GTK_EVENT_CONTROLLER (gtk_gesture_multi_press_new ());
+  gtk_event_controller_set_propagation_limit (controller, GTK_LIMIT_NONE);
   gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (controller), 0);
   g_signal_connect (controller, "pressed",
                     G_CALLBACK (multi_press_pressed), menu_shell);